<?php

class AdmListar extends TPage {

  public function onLoad($param) {
    parent::onLoad($param);
    if (!$this->IsPostBack) {
      $this->actualizarIntefaz();
    }
  }

  private function actualizarIntefaz() {
    $arr = $this->obtenerDatos();
    $this->iniciarControles($arr);
    $this->mostrarMensaje();
  }

  private function obtenerDatos() {
    try {
      $oServicio = new Servicio();
      $oServicio->setId("-1");
      $oServicio->setNombre("-1");
      $oServicioBLL = new ServicioBLL();
      $arr = $oServicioBLL->listar($oServicio);
      return $arr;
    } catch (Exception $e) {
      throw new Exception($e->getMessage());
    }
  }

  private function iniciarControles($arr) {
    if (count($arr) > 0) {
      $this->pnlGrilla->Visible = true;
      $this->pnlSinRegistros->Visible = false;
      $this->dgPrincipal->DataSource = $arr;
      $this->dgPrincipal->dataBind();
    } else {
      $this->pnlGrilla->Visible = false;
      $this->pnlSinRegistros->Visible = true;
    }
  }

  private function mostrarMensaje(){
    $arg = $this->Request["a"];
    if (!Util::isNullOrEmpty($arg)) {
      $tipoMensaje = Util::desencriptarUrl($arg, "tipoMensaje");
      $mensaje = Util::desencriptarUrl($arg, "mensaje");

      if(!Util::isNullOrEmpty($mensaje)){
        Util::mostrarMsj($this->Page, "da-ex-val-error", $mensaje, $tipoMensaje);
      }
    }

  }

  public function onDataBoundDataGrid($sender, $param) {
    $item = $param->Item;
    if ($item->ItemType === 'Item' || $item->ItemType === 'AlternatingItem') {
      $txtId = $item->findControl("txtId");
      $lblOpcion = $item->findControl("lblOpcion");

      $id = $txtId->Value;
      $arg = Util::encriptarUrl(array("id" => $id));
      $lblOpcion->Text = "<a href=\"index.php?page=Servicio.AdmRegistro&a=".$arg."\" title=\"Editar\"><i class=\"icol-pencil\"></i></a>&nbsp;&nbsp;";

      $arrEliminar = array(
        "idRegistro" => $id,
        "urlAjax" => "Servicio.Ajax",
        "opcionAjax" =>"Eliminar",
        "urlRespuesta" => "Servicio.AdmListar",
        "parametrosUrlRespuesta" => ""
      );
      $opcionesEliminar = Util::jsonOpcionesEliminar($arrEliminar);
      $lblOpcion->Text .= "<a href=\"#\" onclick=\"eliminarRegistro(".$opcionesEliminar.")\"><i class=\"icol-cross\"></i></a>";
    }
  }

}
?>
